package com.jari.lg.domain;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class OdDayExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public OdDayExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andStartdatetimeIsNull() {
            addCriterion("startDateTime is null");
            return (Criteria) this;
        }

        public Criteria andStartdatetimeIsNotNull() {
            addCriterion("startDateTime is not null");
            return (Criteria) this;
        }

        public Criteria andStartdatetimeEqualTo(Date value) {
            addCriterion("startDateTime =", value, "startdatetime");
            return (Criteria) this;
        }

        public Criteria andStartdatetimeNotEqualTo(Date value) {
            addCriterion("startDateTime <>", value, "startdatetime");
            return (Criteria) this;
        }

        public Criteria andStartdatetimeGreaterThan(Date value) {
            addCriterion("startDateTime >", value, "startdatetime");
            return (Criteria) this;
        }

        public Criteria andStartdatetimeGreaterThanOrEqualTo(Date value) {
            addCriterion("startDateTime >=", value, "startdatetime");
            return (Criteria) this;
        }

        public Criteria andStartdatetimeLessThan(Date value) {
            addCriterion("startDateTime <", value, "startdatetime");
            return (Criteria) this;
        }

        public Criteria andStartdatetimeLessThanOrEqualTo(Date value) {
            addCriterion("startDateTime <=", value, "startdatetime");
            return (Criteria) this;
        }

        public Criteria andStartdatetimeIn(List<Date> values) {
            addCriterion("startDateTime in", values, "startdatetime");
            return (Criteria) this;
        }

        public Criteria andStartdatetimeNotIn(List<Date> values) {
            addCriterion("startDateTime not in", values, "startdatetime");
            return (Criteria) this;
        }

        public Criteria andStartdatetimeBetween(Date value1, Date value2) {
            addCriterion("startDateTime between", value1, value2, "startdatetime");
            return (Criteria) this;
        }

        public Criteria andStartdatetimeNotBetween(Date value1, Date value2) {
            addCriterion("startDateTime not between", value1, value2, "startdatetime");
            return (Criteria) this;
        }

        public Criteria andEnddatetimeIsNull() {
            addCriterion("endDateTime is null");
            return (Criteria) this;
        }

        public Criteria andEnddatetimeIsNotNull() {
            addCriterion("endDateTime is not null");
            return (Criteria) this;
        }

        public Criteria andEnddatetimeEqualTo(Date value) {
            addCriterion("endDateTime =", value, "enddatetime");
            return (Criteria) this;
        }

        public Criteria andEnddatetimeNotEqualTo(Date value) {
            addCriterion("endDateTime <>", value, "enddatetime");
            return (Criteria) this;
        }

        public Criteria andEnddatetimeGreaterThan(Date value) {
            addCriterion("endDateTime >", value, "enddatetime");
            return (Criteria) this;
        }

        public Criteria andEnddatetimeGreaterThanOrEqualTo(Date value) {
            addCriterion("endDateTime >=", value, "enddatetime");
            return (Criteria) this;
        }

        public Criteria andEnddatetimeLessThan(Date value) {
            addCriterion("endDateTime <", value, "enddatetime");
            return (Criteria) this;
        }

        public Criteria andEnddatetimeLessThanOrEqualTo(Date value) {
            addCriterion("endDateTime <=", value, "enddatetime");
            return (Criteria) this;
        }

        public Criteria andEnddatetimeIn(List<Date> values) {
            addCriterion("endDateTime in", values, "enddatetime");
            return (Criteria) this;
        }

        public Criteria andEnddatetimeNotIn(List<Date> values) {
            addCriterion("endDateTime not in", values, "enddatetime");
            return (Criteria) this;
        }

        public Criteria andEnddatetimeBetween(Date value1, Date value2) {
            addCriterion("endDateTime between", value1, value2, "enddatetime");
            return (Criteria) this;
        }

        public Criteria andEnddatetimeNotBetween(Date value1, Date value2) {
            addCriterion("endDateTime not between", value1, value2, "enddatetime");
            return (Criteria) this;
        }

        public Criteria andStartcheckpointcodeIsNull() {
            addCriterion("startCheckPointCode is null");
            return (Criteria) this;
        }

        public Criteria andStartcheckpointcodeIsNotNull() {
            addCriterion("startCheckPointCode is not null");
            return (Criteria) this;
        }

        public Criteria andStartcheckpointcodeEqualTo(String value) {
            addCriterion("startCheckPointCode =", value, "startcheckpointcode");
            return (Criteria) this;
        }

        public Criteria andStartcheckpointcodeNotEqualTo(String value) {
            addCriterion("startCheckPointCode <>", value, "startcheckpointcode");
            return (Criteria) this;
        }

        public Criteria andStartcheckpointcodeGreaterThan(String value) {
            addCriterion("startCheckPointCode >", value, "startcheckpointcode");
            return (Criteria) this;
        }

        public Criteria andStartcheckpointcodeGreaterThanOrEqualTo(String value) {
            addCriterion("startCheckPointCode >=", value, "startcheckpointcode");
            return (Criteria) this;
        }

        public Criteria andStartcheckpointcodeLessThan(String value) {
            addCriterion("startCheckPointCode <", value, "startcheckpointcode");
            return (Criteria) this;
        }

        public Criteria andStartcheckpointcodeLessThanOrEqualTo(String value) {
            addCriterion("startCheckPointCode <=", value, "startcheckpointcode");
            return (Criteria) this;
        }

        public Criteria andStartcheckpointcodeLike(String value) {
            addCriterion("startCheckPointCode like", value, "startcheckpointcode");
            return (Criteria) this;
        }

        public Criteria andStartcheckpointcodeNotLike(String value) {
            addCriterion("startCheckPointCode not like", value, "startcheckpointcode");
            return (Criteria) this;
        }

        public Criteria andStartcheckpointcodeIn(List<String> values) {
            addCriterion("startCheckPointCode in", values, "startcheckpointcode");
            return (Criteria) this;
        }

        public Criteria andStartcheckpointcodeNotIn(List<String> values) {
            addCriterion("startCheckPointCode not in", values, "startcheckpointcode");
            return (Criteria) this;
        }

        public Criteria andStartcheckpointcodeBetween(String value1, String value2) {
            addCriterion("startCheckPointCode between", value1, value2, "startcheckpointcode");
            return (Criteria) this;
        }

        public Criteria andStartcheckpointcodeNotBetween(String value1, String value2) {
            addCriterion("startCheckPointCode not between", value1, value2, "startcheckpointcode");
            return (Criteria) this;
        }

        public Criteria andStartcheckpointnameIsNull() {
            addCriterion("startCheckPointName is null");
            return (Criteria) this;
        }

        public Criteria andStartcheckpointnameIsNotNull() {
            addCriterion("startCheckPointName is not null");
            return (Criteria) this;
        }

        public Criteria andStartcheckpointnameEqualTo(String value) {
            addCriterion("startCheckPointName =", value, "startcheckpointname");
            return (Criteria) this;
        }

        public Criteria andStartcheckpointnameNotEqualTo(String value) {
            addCriterion("startCheckPointName <>", value, "startcheckpointname");
            return (Criteria) this;
        }

        public Criteria andStartcheckpointnameGreaterThan(String value) {
            addCriterion("startCheckPointName >", value, "startcheckpointname");
            return (Criteria) this;
        }

        public Criteria andStartcheckpointnameGreaterThanOrEqualTo(String value) {
            addCriterion("startCheckPointName >=", value, "startcheckpointname");
            return (Criteria) this;
        }

        public Criteria andStartcheckpointnameLessThan(String value) {
            addCriterion("startCheckPointName <", value, "startcheckpointname");
            return (Criteria) this;
        }

        public Criteria andStartcheckpointnameLessThanOrEqualTo(String value) {
            addCriterion("startCheckPointName <=", value, "startcheckpointname");
            return (Criteria) this;
        }

        public Criteria andStartcheckpointnameLike(String value) {
            addCriterion("startCheckPointName like", value, "startcheckpointname");
            return (Criteria) this;
        }

        public Criteria andStartcheckpointnameNotLike(String value) {
            addCriterion("startCheckPointName not like", value, "startcheckpointname");
            return (Criteria) this;
        }

        public Criteria andStartcheckpointnameIn(List<String> values) {
            addCriterion("startCheckPointName in", values, "startcheckpointname");
            return (Criteria) this;
        }

        public Criteria andStartcheckpointnameNotIn(List<String> values) {
            addCriterion("startCheckPointName not in", values, "startcheckpointname");
            return (Criteria) this;
        }

        public Criteria andStartcheckpointnameBetween(String value1, String value2) {
            addCriterion("startCheckPointName between", value1, value2, "startcheckpointname");
            return (Criteria) this;
        }

        public Criteria andStartcheckpointnameNotBetween(String value1, String value2) {
            addCriterion("startCheckPointName not between", value1, value2, "startcheckpointname");
            return (Criteria) this;
        }

        public Criteria andEndcheckpointcodeIsNull() {
            addCriterion("endCheckPointCode is null");
            return (Criteria) this;
        }

        public Criteria andEndcheckpointcodeIsNotNull() {
            addCriterion("endCheckPointCode is not null");
            return (Criteria) this;
        }

        public Criteria andEndcheckpointcodeEqualTo(String value) {
            addCriterion("endCheckPointCode =", value, "endcheckpointcode");
            return (Criteria) this;
        }

        public Criteria andEndcheckpointcodeNotEqualTo(String value) {
            addCriterion("endCheckPointCode <>", value, "endcheckpointcode");
            return (Criteria) this;
        }

        public Criteria andEndcheckpointcodeGreaterThan(String value) {
            addCriterion("endCheckPointCode >", value, "endcheckpointcode");
            return (Criteria) this;
        }

        public Criteria andEndcheckpointcodeGreaterThanOrEqualTo(String value) {
            addCriterion("endCheckPointCode >=", value, "endcheckpointcode");
            return (Criteria) this;
        }

        public Criteria andEndcheckpointcodeLessThan(String value) {
            addCriterion("endCheckPointCode <", value, "endcheckpointcode");
            return (Criteria) this;
        }

        public Criteria andEndcheckpointcodeLessThanOrEqualTo(String value) {
            addCriterion("endCheckPointCode <=", value, "endcheckpointcode");
            return (Criteria) this;
        }

        public Criteria andEndcheckpointcodeLike(String value) {
            addCriterion("endCheckPointCode like", value, "endcheckpointcode");
            return (Criteria) this;
        }

        public Criteria andEndcheckpointcodeNotLike(String value) {
            addCriterion("endCheckPointCode not like", value, "endcheckpointcode");
            return (Criteria) this;
        }

        public Criteria andEndcheckpointcodeIn(List<String> values) {
            addCriterion("endCheckPointCode in", values, "endcheckpointcode");
            return (Criteria) this;
        }

        public Criteria andEndcheckpointcodeNotIn(List<String> values) {
            addCriterion("endCheckPointCode not in", values, "endcheckpointcode");
            return (Criteria) this;
        }

        public Criteria andEndcheckpointcodeBetween(String value1, String value2) {
            addCriterion("endCheckPointCode between", value1, value2, "endcheckpointcode");
            return (Criteria) this;
        }

        public Criteria andEndcheckpointcodeNotBetween(String value1, String value2) {
            addCriterion("endCheckPointCode not between", value1, value2, "endcheckpointcode");
            return (Criteria) this;
        }

        public Criteria andEndcheckpointnameIsNull() {
            addCriterion("endCheckPointName is null");
            return (Criteria) this;
        }

        public Criteria andEndcheckpointnameIsNotNull() {
            addCriterion("endCheckPointName is not null");
            return (Criteria) this;
        }

        public Criteria andEndcheckpointnameEqualTo(String value) {
            addCriterion("endCheckPointName =", value, "endcheckpointname");
            return (Criteria) this;
        }

        public Criteria andEndcheckpointnameNotEqualTo(String value) {
            addCriterion("endCheckPointName <>", value, "endcheckpointname");
            return (Criteria) this;
        }

        public Criteria andEndcheckpointnameGreaterThan(String value) {
            addCriterion("endCheckPointName >", value, "endcheckpointname");
            return (Criteria) this;
        }

        public Criteria andEndcheckpointnameGreaterThanOrEqualTo(String value) {
            addCriterion("endCheckPointName >=", value, "endcheckpointname");
            return (Criteria) this;
        }

        public Criteria andEndcheckpointnameLessThan(String value) {
            addCriterion("endCheckPointName <", value, "endcheckpointname");
            return (Criteria) this;
        }

        public Criteria andEndcheckpointnameLessThanOrEqualTo(String value) {
            addCriterion("endCheckPointName <=", value, "endcheckpointname");
            return (Criteria) this;
        }

        public Criteria andEndcheckpointnameLike(String value) {
            addCriterion("endCheckPointName like", value, "endcheckpointname");
            return (Criteria) this;
        }

        public Criteria andEndcheckpointnameNotLike(String value) {
            addCriterion("endCheckPointName not like", value, "endcheckpointname");
            return (Criteria) this;
        }

        public Criteria andEndcheckpointnameIn(List<String> values) {
            addCriterion("endCheckPointName in", values, "endcheckpointname");
            return (Criteria) this;
        }

        public Criteria andEndcheckpointnameNotIn(List<String> values) {
            addCriterion("endCheckPointName not in", values, "endcheckpointname");
            return (Criteria) this;
        }

        public Criteria andEndcheckpointnameBetween(String value1, String value2) {
            addCriterion("endCheckPointName between", value1, value2, "endcheckpointname");
            return (Criteria) this;
        }

        public Criteria andEndcheckpointnameNotBetween(String value1, String value2) {
            addCriterion("endCheckPointName not between", value1, value2, "endcheckpointname");
            return (Criteria) this;
        }

        public Criteria andStartlonIsNull() {
            addCriterion("startLon is null");
            return (Criteria) this;
        }

        public Criteria andStartlonIsNotNull() {
            addCriterion("startLon is not null");
            return (Criteria) this;
        }

        public Criteria andStartlonEqualTo(Double value) {
            addCriterion("startLon =", value, "startlon");
            return (Criteria) this;
        }

        public Criteria andStartlonNotEqualTo(Double value) {
            addCriterion("startLon <>", value, "startlon");
            return (Criteria) this;
        }

        public Criteria andStartlonGreaterThan(Double value) {
            addCriterion("startLon >", value, "startlon");
            return (Criteria) this;
        }

        public Criteria andStartlonGreaterThanOrEqualTo(Double value) {
            addCriterion("startLon >=", value, "startlon");
            return (Criteria) this;
        }

        public Criteria andStartlonLessThan(Double value) {
            addCriterion("startLon <", value, "startlon");
            return (Criteria) this;
        }

        public Criteria andStartlonLessThanOrEqualTo(Double value) {
            addCriterion("startLon <=", value, "startlon");
            return (Criteria) this;
        }

        public Criteria andStartlonIn(List<Double> values) {
            addCriterion("startLon in", values, "startlon");
            return (Criteria) this;
        }

        public Criteria andStartlonNotIn(List<Double> values) {
            addCriterion("startLon not in", values, "startlon");
            return (Criteria) this;
        }

        public Criteria andStartlonBetween(Double value1, Double value2) {
            addCriterion("startLon between", value1, value2, "startlon");
            return (Criteria) this;
        }

        public Criteria andStartlonNotBetween(Double value1, Double value2) {
            addCriterion("startLon not between", value1, value2, "startlon");
            return (Criteria) this;
        }

        public Criteria andStartlatIsNull() {
            addCriterion("startLat is null");
            return (Criteria) this;
        }

        public Criteria andStartlatIsNotNull() {
            addCriterion("startLat is not null");
            return (Criteria) this;
        }

        public Criteria andStartlatEqualTo(Double value) {
            addCriterion("startLat =", value, "startlat");
            return (Criteria) this;
        }

        public Criteria andStartlatNotEqualTo(Double value) {
            addCriterion("startLat <>", value, "startlat");
            return (Criteria) this;
        }

        public Criteria andStartlatGreaterThan(Double value) {
            addCriterion("startLat >", value, "startlat");
            return (Criteria) this;
        }

        public Criteria andStartlatGreaterThanOrEqualTo(Double value) {
            addCriterion("startLat >=", value, "startlat");
            return (Criteria) this;
        }

        public Criteria andStartlatLessThan(Double value) {
            addCriterion("startLat <", value, "startlat");
            return (Criteria) this;
        }

        public Criteria andStartlatLessThanOrEqualTo(Double value) {
            addCriterion("startLat <=", value, "startlat");
            return (Criteria) this;
        }

        public Criteria andStartlatIn(List<Double> values) {
            addCriterion("startLat in", values, "startlat");
            return (Criteria) this;
        }

        public Criteria andStartlatNotIn(List<Double> values) {
            addCriterion("startLat not in", values, "startlat");
            return (Criteria) this;
        }

        public Criteria andStartlatBetween(Double value1, Double value2) {
            addCriterion("startLat between", value1, value2, "startlat");
            return (Criteria) this;
        }

        public Criteria andStartlatNotBetween(Double value1, Double value2) {
            addCriterion("startLat not between", value1, value2, "startlat");
            return (Criteria) this;
        }

        public Criteria andEndlonIsNull() {
            addCriterion("endLon is null");
            return (Criteria) this;
        }

        public Criteria andEndlonIsNotNull() {
            addCriterion("endLon is not null");
            return (Criteria) this;
        }

        public Criteria andEndlonEqualTo(Double value) {
            addCriterion("endLon =", value, "endlon");
            return (Criteria) this;
        }

        public Criteria andEndlonNotEqualTo(Double value) {
            addCriterion("endLon <>", value, "endlon");
            return (Criteria) this;
        }

        public Criteria andEndlonGreaterThan(Double value) {
            addCriterion("endLon >", value, "endlon");
            return (Criteria) this;
        }

        public Criteria andEndlonGreaterThanOrEqualTo(Double value) {
            addCriterion("endLon >=", value, "endlon");
            return (Criteria) this;
        }

        public Criteria andEndlonLessThan(Double value) {
            addCriterion("endLon <", value, "endlon");
            return (Criteria) this;
        }

        public Criteria andEndlonLessThanOrEqualTo(Double value) {
            addCriterion("endLon <=", value, "endlon");
            return (Criteria) this;
        }

        public Criteria andEndlonIn(List<Double> values) {
            addCriterion("endLon in", values, "endlon");
            return (Criteria) this;
        }

        public Criteria andEndlonNotIn(List<Double> values) {
            addCriterion("endLon not in", values, "endlon");
            return (Criteria) this;
        }

        public Criteria andEndlonBetween(Double value1, Double value2) {
            addCriterion("endLon between", value1, value2, "endlon");
            return (Criteria) this;
        }

        public Criteria andEndlonNotBetween(Double value1, Double value2) {
            addCriterion("endLon not between", value1, value2, "endlon");
            return (Criteria) this;
        }

        public Criteria andEndlatIsNull() {
            addCriterion("endLat is null");
            return (Criteria) this;
        }

        public Criteria andEndlatIsNotNull() {
            addCriterion("endLat is not null");
            return (Criteria) this;
        }

        public Criteria andEndlatEqualTo(Double value) {
            addCriterion("endLat =", value, "endlat");
            return (Criteria) this;
        }

        public Criteria andEndlatNotEqualTo(Double value) {
            addCriterion("endLat <>", value, "endlat");
            return (Criteria) this;
        }

        public Criteria andEndlatGreaterThan(Double value) {
            addCriterion("endLat >", value, "endlat");
            return (Criteria) this;
        }

        public Criteria andEndlatGreaterThanOrEqualTo(Double value) {
            addCriterion("endLat >=", value, "endlat");
            return (Criteria) this;
        }

        public Criteria andEndlatLessThan(Double value) {
            addCriterion("endLat <", value, "endlat");
            return (Criteria) this;
        }

        public Criteria andEndlatLessThanOrEqualTo(Double value) {
            addCriterion("endLat <=", value, "endlat");
            return (Criteria) this;
        }

        public Criteria andEndlatIn(List<Double> values) {
            addCriterion("endLat in", values, "endlat");
            return (Criteria) this;
        }

        public Criteria andEndlatNotIn(List<Double> values) {
            addCriterion("endLat not in", values, "endlat");
            return (Criteria) this;
        }

        public Criteria andEndlatBetween(Double value1, Double value2) {
            addCriterion("endLat between", value1, value2, "endlat");
            return (Criteria) this;
        }

        public Criteria andEndlatNotBetween(Double value1, Double value2) {
            addCriterion("endLat not between", value1, value2, "endlat");
            return (Criteria) this;
        }

        public Criteria andCarnumIsNull() {
            addCriterion("carNum is null");
            return (Criteria) this;
        }

        public Criteria andCarnumIsNotNull() {
            addCriterion("carNum is not null");
            return (Criteria) this;
        }

        public Criteria andCarnumEqualTo(Integer value) {
            addCriterion("carNum =", value, "carnum");
            return (Criteria) this;
        }

        public Criteria andCarnumNotEqualTo(Integer value) {
            addCriterion("carNum <>", value, "carnum");
            return (Criteria) this;
        }

        public Criteria andCarnumGreaterThan(Integer value) {
            addCriterion("carNum >", value, "carnum");
            return (Criteria) this;
        }

        public Criteria andCarnumGreaterThanOrEqualTo(Integer value) {
            addCriterion("carNum >=", value, "carnum");
            return (Criteria) this;
        }

        public Criteria andCarnumLessThan(Integer value) {
            addCriterion("carNum <", value, "carnum");
            return (Criteria) this;
        }

        public Criteria andCarnumLessThanOrEqualTo(Integer value) {
            addCriterion("carNum <=", value, "carnum");
            return (Criteria) this;
        }

        public Criteria andCarnumIn(List<Integer> values) {
            addCriterion("carNum in", values, "carnum");
            return (Criteria) this;
        }

        public Criteria andCarnumNotIn(List<Integer> values) {
            addCriterion("carNum not in", values, "carnum");
            return (Criteria) this;
        }

        public Criteria andCarnumBetween(Integer value1, Integer value2) {
            addCriterion("carNum between", value1, value2, "carnum");
            return (Criteria) this;
        }

        public Criteria andCarnumNotBetween(Integer value1, Integer value2) {
            addCriterion("carNum not between", value1, value2, "carnum");
            return (Criteria) this;
        }

        public Criteria andOutareaIsNull() {
            addCriterion("outArea is null");
            return (Criteria) this;
        }

        public Criteria andOutareaIsNotNull() {
            addCriterion("outArea is not null");
            return (Criteria) this;
        }

        public Criteria andOutareaEqualTo(String value) {
            addCriterion("outArea =", value, "outarea");
            return (Criteria) this;
        }

        public Criteria andOutareaNotEqualTo(String value) {
            addCriterion("outArea <>", value, "outarea");
            return (Criteria) this;
        }

        public Criteria andOutareaGreaterThan(String value) {
            addCriterion("outArea >", value, "outarea");
            return (Criteria) this;
        }

        public Criteria andOutareaGreaterThanOrEqualTo(String value) {
            addCriterion("outArea >=", value, "outarea");
            return (Criteria) this;
        }

        public Criteria andOutareaLessThan(String value) {
            addCriterion("outArea <", value, "outarea");
            return (Criteria) this;
        }

        public Criteria andOutareaLessThanOrEqualTo(String value) {
            addCriterion("outArea <=", value, "outarea");
            return (Criteria) this;
        }

        public Criteria andOutareaLike(String value) {
            addCriterion("outArea like", value, "outarea");
            return (Criteria) this;
        }

        public Criteria andOutareaNotLike(String value) {
            addCriterion("outArea not like", value, "outarea");
            return (Criteria) this;
        }

        public Criteria andOutareaIn(List<String> values) {
            addCriterion("outArea in", values, "outarea");
            return (Criteria) this;
        }

        public Criteria andOutareaNotIn(List<String> values) {
            addCriterion("outArea not in", values, "outarea");
            return (Criteria) this;
        }

        public Criteria andOutareaBetween(String value1, String value2) {
            addCriterion("outArea between", value1, value2, "outarea");
            return (Criteria) this;
        }

        public Criteria andOutareaNotBetween(String value1, String value2) {
            addCriterion("outArea not between", value1, value2, "outarea");
            return (Criteria) this;
        }

        public Criteria andInareaIsNull() {
            addCriterion("inArea is null");
            return (Criteria) this;
        }

        public Criteria andInareaIsNotNull() {
            addCriterion("inArea is not null");
            return (Criteria) this;
        }

        public Criteria andInareaEqualTo(String value) {
            addCriterion("inArea =", value, "inarea");
            return (Criteria) this;
        }

        public Criteria andInareaNotEqualTo(String value) {
            addCriterion("inArea <>", value, "inarea");
            return (Criteria) this;
        }

        public Criteria andInareaGreaterThan(String value) {
            addCriterion("inArea >", value, "inarea");
            return (Criteria) this;
        }

        public Criteria andInareaGreaterThanOrEqualTo(String value) {
            addCriterion("inArea >=", value, "inarea");
            return (Criteria) this;
        }

        public Criteria andInareaLessThan(String value) {
            addCriterion("inArea <", value, "inarea");
            return (Criteria) this;
        }

        public Criteria andInareaLessThanOrEqualTo(String value) {
            addCriterion("inArea <=", value, "inarea");
            return (Criteria) this;
        }

        public Criteria andInareaLike(String value) {
            addCriterion("inArea like", value, "inarea");
            return (Criteria) this;
        }

        public Criteria andInareaNotLike(String value) {
            addCriterion("inArea not like", value, "inarea");
            return (Criteria) this;
        }

        public Criteria andInareaIn(List<String> values) {
            addCriterion("inArea in", values, "inarea");
            return (Criteria) this;
        }

        public Criteria andInareaNotIn(List<String> values) {
            addCriterion("inArea not in", values, "inarea");
            return (Criteria) this;
        }

        public Criteria andInareaBetween(String value1, String value2) {
            addCriterion("inArea between", value1, value2, "inarea");
            return (Criteria) this;
        }

        public Criteria andInareaNotBetween(String value1, String value2) {
            addCriterion("inArea not between", value1, value2, "inarea");
            return (Criteria) this;
        }

        public Criteria andDatetimeIsNull() {
            addCriterion("datetime is null");
            return (Criteria) this;
        }

        public Criteria andDatetimeIsNotNull() {
            addCriterion("datetime is not null");
            return (Criteria) this;
        }

        public Criteria andDatetimeEqualTo(Date value) {
            addCriterion("datetime =", value, "datetime");
            return (Criteria) this;
        }

        public Criteria andDatetimeNotEqualTo(Date value) {
            addCriterion("datetime <>", value, "datetime");
            return (Criteria) this;
        }

        public Criteria andDatetimeGreaterThan(Date value) {
            addCriterion("datetime >", value, "datetime");
            return (Criteria) this;
        }

        public Criteria andDatetimeGreaterThanOrEqualTo(Date value) {
            addCriterion("datetime >=", value, "datetime");
            return (Criteria) this;
        }

        public Criteria andDatetimeLessThan(Date value) {
            addCriterion("datetime <", value, "datetime");
            return (Criteria) this;
        }

        public Criteria andDatetimeLessThanOrEqualTo(Date value) {
            addCriterion("datetime <=", value, "datetime");
            return (Criteria) this;
        }

        public Criteria andDatetimeIn(List<Date> values) {
            addCriterion("datetime in", values, "datetime");
            return (Criteria) this;
        }

        public Criteria andDatetimeNotIn(List<Date> values) {
            addCriterion("datetime not in", values, "datetime");
            return (Criteria) this;
        }

        public Criteria andDatetimeBetween(Date value1, Date value2) {
            addCriterion("datetime between", value1, value2, "datetime");
            return (Criteria) this;
        }

        public Criteria andDatetimeNotBetween(Date value1, Date value2) {
            addCriterion("datetime not between", value1, value2, "datetime");
            return (Criteria) this;
        }

        public Criteria andCreatorIsNull() {
            addCriterion("creator is null");
            return (Criteria) this;
        }

        public Criteria andCreatorIsNotNull() {
            addCriterion("creator is not null");
            return (Criteria) this;
        }

        public Criteria andCreatorEqualTo(String value) {
            addCriterion("creator =", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorNotEqualTo(String value) {
            addCriterion("creator <>", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorGreaterThan(String value) {
            addCriterion("creator >", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorGreaterThanOrEqualTo(String value) {
            addCriterion("creator >=", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorLessThan(String value) {
            addCriterion("creator <", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorLessThanOrEqualTo(String value) {
            addCriterion("creator <=", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorLike(String value) {
            addCriterion("creator like", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorNotLike(String value) {
            addCriterion("creator not like", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorIn(List<String> values) {
            addCriterion("creator in", values, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorNotIn(List<String> values) {
            addCriterion("creator not in", values, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorBetween(String value1, String value2) {
            addCriterion("creator between", value1, value2, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorNotBetween(String value1, String value2) {
            addCriterion("creator not between", value1, value2, "creator");
            return (Criteria) this;
        }

        public Criteria andGmtcreateIsNull() {
            addCriterion("gmtCreate is null");
            return (Criteria) this;
        }

        public Criteria andGmtcreateIsNotNull() {
            addCriterion("gmtCreate is not null");
            return (Criteria) this;
        }

        public Criteria andGmtcreateEqualTo(Date value) {
            addCriterion("gmtCreate =", value, "gmtcreate");
            return (Criteria) this;
        }

        public Criteria andGmtcreateNotEqualTo(Date value) {
            addCriterion("gmtCreate <>", value, "gmtcreate");
            return (Criteria) this;
        }

        public Criteria andGmtcreateGreaterThan(Date value) {
            addCriterion("gmtCreate >", value, "gmtcreate");
            return (Criteria) this;
        }

        public Criteria andGmtcreateGreaterThanOrEqualTo(Date value) {
            addCriterion("gmtCreate >=", value, "gmtcreate");
            return (Criteria) this;
        }

        public Criteria andGmtcreateLessThan(Date value) {
            addCriterion("gmtCreate <", value, "gmtcreate");
            return (Criteria) this;
        }

        public Criteria andGmtcreateLessThanOrEqualTo(Date value) {
            addCriterion("gmtCreate <=", value, "gmtcreate");
            return (Criteria) this;
        }

        public Criteria andGmtcreateIn(List<Date> values) {
            addCriterion("gmtCreate in", values, "gmtcreate");
            return (Criteria) this;
        }

        public Criteria andGmtcreateNotIn(List<Date> values) {
            addCriterion("gmtCreate not in", values, "gmtcreate");
            return (Criteria) this;
        }

        public Criteria andGmtcreateBetween(Date value1, Date value2) {
            addCriterion("gmtCreate between", value1, value2, "gmtcreate");
            return (Criteria) this;
        }

        public Criteria andGmtcreateNotBetween(Date value1, Date value2) {
            addCriterion("gmtCreate not between", value1, value2, "gmtcreate");
            return (Criteria) this;
        }

        public Criteria andModifierIsNull() {
            addCriterion("modifier is null");
            return (Criteria) this;
        }

        public Criteria andModifierIsNotNull() {
            addCriterion("modifier is not null");
            return (Criteria) this;
        }

        public Criteria andModifierEqualTo(String value) {
            addCriterion("modifier =", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierNotEqualTo(String value) {
            addCriterion("modifier <>", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierGreaterThan(String value) {
            addCriterion("modifier >", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierGreaterThanOrEqualTo(String value) {
            addCriterion("modifier >=", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierLessThan(String value) {
            addCriterion("modifier <", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierLessThanOrEqualTo(String value) {
            addCriterion("modifier <=", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierLike(String value) {
            addCriterion("modifier like", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierNotLike(String value) {
            addCriterion("modifier not like", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierIn(List<String> values) {
            addCriterion("modifier in", values, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierNotIn(List<String> values) {
            addCriterion("modifier not in", values, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierBetween(String value1, String value2) {
            addCriterion("modifier between", value1, value2, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierNotBetween(String value1, String value2) {
            addCriterion("modifier not between", value1, value2, "modifier");
            return (Criteria) this;
        }

        public Criteria andGmtmodifiedIsNull() {
            addCriterion("gmtModified is null");
            return (Criteria) this;
        }

        public Criteria andGmtmodifiedIsNotNull() {
            addCriterion("gmtModified is not null");
            return (Criteria) this;
        }

        public Criteria andGmtmodifiedEqualTo(Date value) {
            addCriterion("gmtModified =", value, "gmtmodified");
            return (Criteria) this;
        }

        public Criteria andGmtmodifiedNotEqualTo(Date value) {
            addCriterion("gmtModified <>", value, "gmtmodified");
            return (Criteria) this;
        }

        public Criteria andGmtmodifiedGreaterThan(Date value) {
            addCriterion("gmtModified >", value, "gmtmodified");
            return (Criteria) this;
        }

        public Criteria andGmtmodifiedGreaterThanOrEqualTo(Date value) {
            addCriterion("gmtModified >=", value, "gmtmodified");
            return (Criteria) this;
        }

        public Criteria andGmtmodifiedLessThan(Date value) {
            addCriterion("gmtModified <", value, "gmtmodified");
            return (Criteria) this;
        }

        public Criteria andGmtmodifiedLessThanOrEqualTo(Date value) {
            addCriterion("gmtModified <=", value, "gmtmodified");
            return (Criteria) this;
        }

        public Criteria andGmtmodifiedIn(List<Date> values) {
            addCriterion("gmtModified in", values, "gmtmodified");
            return (Criteria) this;
        }

        public Criteria andGmtmodifiedNotIn(List<Date> values) {
            addCriterion("gmtModified not in", values, "gmtmodified");
            return (Criteria) this;
        }

        public Criteria andGmtmodifiedBetween(Date value1, Date value2) {
            addCriterion("gmtModified between", value1, value2, "gmtmodified");
            return (Criteria) this;
        }

        public Criteria andGmtmodifiedNotBetween(Date value1, Date value2) {
            addCriterion("gmtModified not between", value1, value2, "gmtmodified");
            return (Criteria) this;
        }

        public Criteria andDatastatusIsNull() {
            addCriterion("dataStatus is null");
            return (Criteria) this;
        }

        public Criteria andDatastatusIsNotNull() {
            addCriterion("dataStatus is not null");
            return (Criteria) this;
        }

        public Criteria andDatastatusEqualTo(String value) {
            addCriterion("dataStatus =", value, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusNotEqualTo(String value) {
            addCriterion("dataStatus <>", value, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusGreaterThan(String value) {
            addCriterion("dataStatus >", value, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusGreaterThanOrEqualTo(String value) {
            addCriterion("dataStatus >=", value, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusLessThan(String value) {
            addCriterion("dataStatus <", value, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusLessThanOrEqualTo(String value) {
            addCriterion("dataStatus <=", value, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusLike(String value) {
            addCriterion("dataStatus like", value, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusNotLike(String value) {
            addCriterion("dataStatus not like", value, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusIn(List<String> values) {
            addCriterion("dataStatus in", values, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusNotIn(List<String> values) {
            addCriterion("dataStatus not in", values, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusBetween(String value1, String value2) {
            addCriterion("dataStatus between", value1, value2, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusNotBetween(String value1, String value2) {
            addCriterion("dataStatus not between", value1, value2, "datastatus");
            return (Criteria) this;
        }

        public Criteria andVersionIsNull() {
            addCriterion("version is null");
            return (Criteria) this;
        }

        public Criteria andVersionIsNotNull() {
            addCriterion("version is not null");
            return (Criteria) this;
        }

        public Criteria andVersionEqualTo(Long value) {
            addCriterion("version =", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionNotEqualTo(Long value) {
            addCriterion("version <>", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionGreaterThan(Long value) {
            addCriterion("version >", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionGreaterThanOrEqualTo(Long value) {
            addCriterion("version >=", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionLessThan(Long value) {
            addCriterion("version <", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionLessThanOrEqualTo(Long value) {
            addCriterion("version <=", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionIn(List<Long> values) {
            addCriterion("version in", values, "version");
            return (Criteria) this;
        }

        public Criteria andVersionNotIn(List<Long> values) {
            addCriterion("version not in", values, "version");
            return (Criteria) this;
        }

        public Criteria andVersionBetween(Long value1, Long value2) {
            addCriterion("version between", value1, value2, "version");
            return (Criteria) this;
        }

        public Criteria andVersionNotBetween(Long value1, Long value2) {
            addCriterion("version not between", value1, value2, "version");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("remark not between", value1, value2, "remark");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}